<%@page import="java.util.HashMap"%>
<%@page import="domain.Member"%>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 태그:forEach, 속성-items:반복조회할 Collection(배열,list,Set,Map)지정
	var : 컬렉션에서 조회된값을 저장할 변수
 -->
<h2>forEach 태그를 이용해 Collection 반복 조회</h2>
<%
	String arr [] = {"a","b","c","d","e"};
	request.setAttribute("strArr", arr);
	//forEach문에 저장된 변수str은 이 페이지스콥에 저장되며 반복문이 빠져나옴과 동시에 삭제된다. 
%>
<c:forEach items="${requestScope.strArr }" var="str">
	${str }
</c:forEach>

<%
	ArrayList list = new ArrayList();
	list.add(new Member("id-55","1111","최자","a@bbb.com"));
	list.add(new Member("us-1","2222","설리","23929@snsek.com"));
	list.add(new Member("uisi-21","2239","앙아아","djsks@dksms.com"));
	request.setAttribute("list", list);
%>
<!-- var : member ->Member객체 -->
<!-- 
	vatStatus = "변수"
	태그의 content에서 :
	$	{변수.index} - 시작 : 0
	$	{변수.count} - 시작 : 1
	
	그러니까 이건 변수의 상태를 저장할 varStauts라는 기능에 변수명을 정해서
	그 변수명.index를 사용하면 반복할때마다 그 반복되는 내용에 순서를 붙여준다는 거다. 
	다만 count를 쓸때랑 index를 쓸때랑 맨앞번호가 뭘로 시작되는가 그 차이일 뿐이다. 
 -->

<c:forEach items="${requestScope.list }" var="member">

	${member } - ${member.name } ${member.email }<br>

</c:forEach>
<hr>
<c:forEach items='${requestScope.list }' var="member" varStatus="cnt">

	${cnt.index} ${member.id }, ${member.name }<br>
	${cnt.count} ${member.id }, ${member.name }<br>
</c:forEach>
<%
	HashMap map = new HashMap();
	map.put("이름", "김철수");
	map.put("나이", 20);
	map.put("주소","서울");
	map.put("map", "test");
	request.setAttribute("map", map);
	//map은 그냥 ${var}해서 값을 뽑으면 키갑 밸류값이 같이 나온다.
%>
<c:forEach items='${requestScope.map }' var="var">
	${var }<br>
	${var } : key - ${var.key }, value - ${var.value }<br>
	<c:choose>
		<c:when test="${var.key == 'member' }">
			value - ${var.value.id }, ${var.value.name }<br>
		</c:when>
		<c:otherwise>
			key = ${var.key }, value-${var.value }<br>
		</c:otherwise>
	</c:choose>

</c:forEach>
<h2>단순반복</h2>
<c:forEach begin='1' end='10' step='2' var='num'>
 ${num } hello<br>
</c:forEach>

</body>
</html>